=======================================
===<TPXonix by Real>===================
=======================================

TPXonix is a remake of an old, simple but entertaining arcade game in which you have to take over the sufficiently large area of the playing field to pass the level, and avoid collisions with (computer) enemies that are bouncing about.

One great difference between TPXonix and any of the other Xonix games (at least of those I have seen) is that TPXonix has a local multiplayer mode, where up to four players can play the game - in teams or as rivals.

===<Quick start>=======================

To start playing the game quickly, just choose colours, controls and click Start! The game interface is very intuitive, and the rules are intuitive or unnecessary to memorize, in my oppinion. The description below is for those interested in some details...

TPXonix should be run in the resolution 1024x786.

===<Basic rules of Xonix>==============

The rules are simple - when a player moves his/her robot through the open area (water), it leaves a trail, and when the robot touches again the terrain, the cut off water area turns into terrain. Precisely - the finished trail cuts the water area into some number of separate fields, and those of them, that do not contain any of the bouncing enemies, are converted to terrain. The level is finished when it is almost entirely converted into terrain (about 90% is needed in the first level but later the fraction decreases as the number of enemies increases).

There are two types of enemies. The water enemies live in water and bounce when they touch terrain, and the terrain enemies do just the opposite. Both types are hostile - a player loses a life when his/her robot touches any of the enemies, or when the water enemy stamps on the trail before it is finished (i.e. before the robot gets back to terrain). A player also dies when his/her robot stamps on the trail (no matter whose trail it is).

A robot cannot stop while it moves. It can only change the direction of movement. The only ways to stop a robot is to get to the edge of the board, or to convert some water into terrain (the robot stops just after getting back to terrain).

===<TPXonix detailed rules>============

In TPXonix, in N-th level, there are N+2 water enemies and (integer part of) (N+1)/2 terrain enemies. There are 50 levels, after that the initial terrain area is sufficient (or almost sufficient) to pass the level, so the game makes no sense.

The initial terrain's width is usually equal 2 but in some levels it can be randomly selected to be 3 or even 4.

In TPXonix, it is impossible to change direction to opposite, while moving in water. This avoids easy suicides by stamping on one's own trail.

It is unnecessary to explain all the details about how the converting to terrain works as the results are rather intuitive (also in the multiplayer mode) and there are no surprises.

===<Multiplayer mode rules>============

All players that take part in the game are grouped in teams (even if there is only one player, he/she is also a member of the only team). Teams do not have to be balanced.

Score in the game is the terrain gained by each player, and by whole teams. Score is represented in percents.

At the beginning of the game each team is given two lives plus one per each player in that team (players do not have their own spare lives). Death of any of the players' robots results in this robot being put on the starting position (at the bottom of the screen), and a life being taken from that team's repository. If it is impossible (i.e. if the team does not have any life), the player becomes inactive instead and vanishes form board.

There are two ways of gaining lives. First - at the end of every level each team is rewarded with one life per each active player in the team, and second - if there are at least two active teams at the beginning of the level, then at the end, each team gets a fraction of a life - the fraction that is that team's score from this level multiplied by the number one less than the number of active teams on the beginning of the level. That is, if there are three active teams and a team scores 40% (has converted 40% of board to terrain) then at the end of the level the team gets extra 0.8 of a life. A team cannot have more than 99.99 lives.

Those ways of gaining lives allow inactive players to become active again at the beginning of the next (or some later) level, if the rest of the team plays well enough. Even if all members of a team become inactive (but there are other teams in this game), they still might be back in game in the next level, if their score is high enough. For instance, if a team has no active members, but it has 0.8 of a life, and the players have converted 50% of the board before dying, then in the next level the team will have 1.3 lives (or more if there are more teams than two) so one player will become active. In cases when there are less spare lives than inactive players, the order of becoming reactivated is opposite to the order of dying.

If at the beginning of a level some team does not have any active player and has less than one life, then the team becomes inactive, and has no chance to reactivate.

The game is finished when all players become inactive (there is always at least one active team at that moment, but the game is over anyway, because there are no robots able to convert the needed amount of water to pass the level).

In multiplayer mode, when two robots collide, they both die, even if they are members of the same team. It might also be important to know, that when two or more players of the same team die exactly simultaneously, the team loses only one life. This takes place also when two members of the team collide.

This all might seem a bit complicated, but in game everything will become clear (or unnecessary to know).

===<Starting the game>=================

After clicking Start Game button, team configuration dialog is shown. Players are called Alpha, Beta, Gamma and Delta, teams are called simply W, X, Y and Z. To put some player in some team, check the checkbox in the column corresponding to the team, and the row corresponding to the player. Not all players and teams must take part in the game - some rows and columns may remain empty.

Of course, at the moment when a checkbox in the line of some player is checked, all other checkboxes in this line are unchecked. Also, if the control keys of the player whose checkbox is being checked intersect with some other player's control keys, the other player's checkbox (if checked) is unchecked. The controls intersections are signalized by exclamation marks before the keys that are more than one player's control keys.

The colours of the players' robots can be changed by clicking (left or right mouse button) on the square colour indicators. There are six colours available.

Each player's controls can be changed by selecting the key to change and pressing a new key. Also pause key can be changed in this way. Newly chosen key is accepted only if it is not equal to any of the other controls of the same player, and it is not equal to the pause key. The pause key is accepted when it is different from any of the control keys.

Available keys are: arrows, letters, digits, numpad digits, slash, dot (full stop), comma, apostrophe, semicolon and square brackets. Pause key can also be set to space (in fact, space and enter key are always pause keys). Pause is turned on automatically also when the TPXonix application loses control or is minimized.

Selected controls are stored in file (TPXonix.ini in the directory of the program).

===<The game>==========================

During the game, at the bottom of the screen there are details about the teams and players, and about the game. The teams that take part in the game are listed in the alphabetical order. Under the name of the team, there is a number that represents the team's lives (the fractional part is omitted when equal to .00). On the right, there is team's current score and the score from the current level in parentheses. Then there are all team's members listed (with colour indicators), every of them with his/her own current score, and the (negative) number of lives that he/she has lost during the game (in parentheses the number of lives lost in the current level). When there is only one player in a team, then the team's total score is omitted, as it is equal to the player's score.

The actual highest teams' and players' score from level and from the whole game, are written in blue (teams) and in green (players) (or in blue-green when a solo player is the best player and the best team at the same time). The colours are not used when there is only one team or player active. When there is a tie, i.e. two or more players' or teams' score differs by no more than 1%, all the tying numbers are coloured. The colouring is only decorative.

On the right of the bottom line of the screen there is the level number, and numbers of water and terrain enemies in this level. There is also the current amount of terrain (in percents) and also the limit that is needed to pass the level.

The Menu (or escape key) and Close (or Alt+F4) buttons do not need any explanation. The square, initially with the number 0 in it, is a button for adding lives. The number represents the (negative) number of lives that have been added. Clicking on the button (or pressing numpad + key) adds to each team's lives a life for each active player. This means that if a solo player has already lost all of his lives and is inactive, pressing the key will not make him/her back active - it's too late then. However, if there are other active players in this player's team, they will get extra lives and one of them will instantly be used up by the inactive player. No more than 99 lives can be added in this way.

At the beginning of each level, and also just after losing a life, the robots are in protector mode (the robots in protector mode have two black crossed lines), until their first move. That means that they do not interact with anything on the board in any way - they cannot lose a life. This is because of the fact, that when a player dies, the game isn't stopped and no enemies are moved to other positions, so the player might reappear in an occupied part of the board (by terrain enemies or by other players' robots). Then he/she should wait and choose a good moment to escape.

There are different level colour schemes, one of which is randomly chosen at the begining of each level.

===<The author>========================

I am a student of Poznan University of Technology, Poland.

trnraos@o2.pl

TPReal.